Line Follower Robot একটি স্বয়ংক্রিয় রোবট যা একটি নির্দিষ্ট লাইনে চলার জন্য ডিজাইন করা হয়। এটি সাধারণত একটি কালো লাইনের উপর চলতে পারে এবং লাইন থেকে বিচ্যুত হলে পুনরায় লাইনে ফিরে আসে। এই প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্স শেখার জন্য একটি জনপ্রিয় উদাহরণ।
IR Sensor Pin | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
Output | 2 |
Output | 3 |
Motor Driver Pin | Arduino Pin |
---|---|
IN1 | 4 |
IN2 | 5 |
IN3 | 6 |
IN4 | 7 |
নিচে একটি সাধারণ কোড উদাহরণ দেওয়া হলো যা লাইন ফলোয়ার রোবটের কার্যকারিতা নির্ধারণ করে:
#define LEFT_SENSOR 2
#define RIGHT_SENSOR 3
#define MOTOR_A_FORWARD 4
#define MOTOR_A_BACK 5
#define MOTOR_B_FORWARD 6
#define MOTOR_B_BACK 7
void setup() {
pinMode(LEFT_SENSOR, INPUT);
pinMode(RIGHT_SENSOR, INPUT);
pinMode(MOTOR_A_FORWARD, OUTPUT);
pinMode(MOTOR_A_BACK, OUTPUT);
pinMode(MOTOR_B_FORWARD, OUTPUT);
pinMode(MOTOR_B_BACK, OUTPUT);
}
void loop() {
int leftState = digitalRead(LEFT_SENSOR);
int rightState = digitalRead(RIGHT_SENSOR);
if (leftState == HIGH && rightState == HIGH) {
// Move forward
digitalWrite(MOTOR_A_FORWARD, HIGH);
digitalWrite(MOTOR_B_FORWARD, HIGH);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
} else if (leftState == LOW && rightState == HIGH) {
// Turn right
digitalWrite(MOTOR_A_FORWARD, HIGH);
digitalWrite(MOTOR_B_FORWARD, LOW);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
} else if (leftState == HIGH && rightState == LOW) {
// Turn left
digitalWrite(MOTOR_A_FORWARD, LOW);
digitalWrite(MOTOR_B_FORWARD, HIGH);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
} else {
// Stop
digitalWrite(MOTOR_A_FORWARD, LOW);
digitalWrite(MOTOR_B_FORWARD, LOW);
digitalWrite(MOTOR_A_BACK, LOW);
digitalWrite(MOTOR_B_BACK, LOW);
}
}
লাইন ফলোয়ার রোবট তৈরি করা একটি চমৎকার প্রকল্প যা Arduino এবং ইলেকট্রনিক্স শেখার জন্য কার্যকরী। এটি বেসিক সেন্সর, মোটর নিয়ন্ত্রণ এবং প্রোগ্রামিং দক্ষতা উন্নত করতে সাহায্য করে।
common.read_more